AddTableConfirm
审核加表申请
加表申请将加表相关数据写入申请单,审核加表数据是所申请的表分配shard,proxy资源、及指定表的引擎参数。 注:不支持自动审批的集群,需要dba人员权限才能调用此接口
请求地址
POST
http://OmsAddress/app/newoms.php/webservice/business/table/add-table-confirm?cmd=10002&ip-type=webservicerest&access-token=AccessTokenVal
POST请求参数说明
参数名称 | 数据类型 | 说明 | 是否必填字段 | 备注 |
---|---|---|---|---|
uid | 整型 | 加表申请单据的id | 是 | |
table_param | 数组 | 修改表相关参数当加表时,选择的为简单模式加表(calc_resource_type=1) 表参数名称为:active_record_num,total_record_num,estimated_read_load,estimated_write_load,key_avarage_record_size,value_avarage_record_size当加表时,选择的为复杂模式加表(calc_resource_type=2) 表参数名称为:total_record_num,key_avarage_record_size,value_avarage_record_size,pcu,relationship_chain_interval,relationship_chain_count,index_count,read_index_interval,read_index_count,read_interval write_interval | 否 可只填写需要修改的字段 | 表参数对应中文名称,及参数值的范围见申请加表的表参数描述 |
machine_choose | 字符串 | 分配资源(shard及proxy)方式(自动:auto,手动:manual) | 否,默认自动 | 自动分配加表所需的shard、proxy时,正式集群只能把shard、proxy分配到独占机器上,测试集群可分配到共享机器上 |
set_alloc_shard_num_type | 整型 | 分配shard资源方式 | 否 | 0:自动计算 1:手动指定机型,和数量 2:随集群配置 |
alloc_svr_type_in_auto | 字符串 | 分配机型名称 | 否 | 当set_alloc_shard_num_type=1时, 必须指定分配机型 |
alloc_shard_num_in_auto | 整型 | 分配shard个数 | 否 | 当set_alloc_shard_num_type=1时, 必须指定分配shard个数 |
svr_list | 数组 | 自动分配资源时,指定将shard分配到的机器的ip列表,不指定时,表示所有满足条件的可用资源,手动分配资源时,此字段不做要求 | 否 | |
proxy_list | 数组 | 自动分配资源时,指定将proxy分配到的机器的ip列表,不指定时,表示所有满足条件的可用资源,手动分配资源时,此字段不做要求 | 否 | |
version | 字符串 | 加表过程中,若需要安装新tcapssvr、tcaproxy进程,进程的版本号 | 否,默认为表所在的集群的的center的版本号 | |
engine_parameters | 字符串 | 表引擎参数 | 否,根据表参数计算所得表引擎参数 | |
alloc_svr_type | 字符串 | 手动分配shard所在的tcapsvr的机型(shard必须分配在同机型的tcapsvr上,分配的总的shard个数等于或大于所需,测试集群下,一张表只需要一个shard) | 否,若指定为手动分配资源,则必填 | |
alloc_shard_list | 数据 | 手动分配shard的列表 格式如下: {tcapsvr_name_1:1;tcapsvr_name_2:2} | 否,若指定为手动分配资源,则必填 | |
alloc_proxy_type | 字符串 | 手动分配proxy所在的tcaproxy的机型(proxy必须分配在同机型的tcaproxy上,分配的总的proxy个数必须等于所需,测试集群下,一个游戏区只需要一个proxy) | 否,若指定为手动分配资源,则必填 | |
alloc_proxy_list | 数组 | 手动分配proxy的列表 {tcaproxy_name_1:1;tcaproxy_name_2:1} | 否,若指定为手动分配资源,则必填 | |
verify_process_tcapsvr | 整型 | 按自动、或者手动分配的shard在未起进程的tcapsvr机器上时,若当前集群已有的tcapsvr进程达到集群的告警线,是否继续(0:不继续,1:继续) | 否,不继续 | |
verify_process_porxy | 整型 | 需要新新增加proxy进程时,若当前集群已有的tcaproxy进程达到集群的告警线,是否继续(0:不继续,1:继续) | 否,不继续 | |
conf_app_id | 整型 | 确认表信息:表所在的业务id | 是 | |
conf_zone_id | 整型 | 确认表信息:表所在的游戏区的id | 是 | |
conf_table_name | 字符串 | 确认表信息:表名称 | 是 |
Data参数
使用json格式表示记录相关信息,示例如下:
{
"conf_app_id": 2,
"machine_choose": "manual",
"uid": 108,
"conf_zone_id": 3,
"conf_table_name": "test_table_generic_modify",
"alloc_svr_type": "Z3",
"alloc_shard_list": {
"host1_master_node": 1
}
}
指定资源分配方式为自动,限制shard分配数和机型
{
"uid":34850,
"conf_app_id": 5,
"conf_zone_id": 1,
"conf_table_name": "test_tablename",
"machine_choose":"auto",
"set_alloc_shard_num_type": 1,
"alloc_svr_type_in_auto":"T512",
"alloc_shard_num_in_auto": 3
}
返回语法
返回参数说明
字段名称 | 数据类型 | 说明 | 备注 |
---|---|---|---|
trans_id | 整型 | 生成的对应的事务的id | |
set_id | 整型 | 事务所在的集群 | |
username | 字符串 | 事务归属者 |
请求示例
通过 curl 方法发起请求
命令中的参数请参考本页中的“POST请求参数说明”,access-token的获取方法详见:获取access-token
curl -H "Content-type: application/json" -X "POST" -d '{
"conf_app_id": 2,
"machine_choose": "manual",
"uid": 108,
"conf_zone_id": 3,
"conf_table_name": "test_table_generic_modify",
"alloc_svr_type": "Z3",
"alloc_shard_list": {
"host1_master_node": 1
}
}' http://omsaddress/app/newoms.php/webservice/business/table/add-table-confirm?cmd=10002&ip-type=webservicerest&access-token=<access-token>
返回示例
成功返回示例
http请求的Status=200
{
"set_id": 126,
"trans_id": 404,
"user": "tcaplus"
}
错误返回
http请求的Status!=200
{
"uid": [
"Can't handle application,status not pending,application status:Failed To Exec"
]
}
{
"conf_zone_id": [
"table info confirm:error conf_zone_id(4)"
]
}